package com.tarena.ELSFK.day01.cell;

import javax.swing.JFrame;//窗口框 Frame(画框 框架)
import javax.swing.JPanel;//面板 
import java.awt.Color;//颜色
import java.awt.Graphics;//绘图笔
/**
 * 在同一个包中不能有同名的类！ 
 * 方块的宽是25
 */
public class Demo12 {
	public static void main(String[] args) {
		JFrame frame = new JFrame();//创建了一个窗口框对象
		//frame 是窗口框的引用，代表了窗口框
		frame.setSize(25*10 , 25*20);//设置窗口大小
		//JPanel panel = new JPanel();//创建空白面板
		MyPanel panel = new MyPanel();
		panel.action();//创建了两个 格子对象 c1, c2
		//Background 背景
		panel.setBackground(new Color(0x0000ff));
		frame.add(panel);//窗口添加面板
		frame.setVisible(true);//显示窗口，Visible 可见 = true
		//setVisible(true) 会尽快的调用paint() 方法绘制界面!
		//在 paint() 方法中绘制了 c1 和 c2 
	}
}
/** 我的面板 扩展了 空白面板, 添加两个 方块格子 */
class MyPanel extends JPanel{
	Cell c1; //只是定义变量 c1 没有对象
	Cell c2;
	/** action： 动作，是启动开始方法 */
	public void action(){
		c1 = new Cell();//创建对象
		c1.row = 0; c1.col = 3;	c1.color = 0xff0000;
		c2 = new Cell();
		c2.row = 4;	c2.col = 3;	c2.color = 0xffff00;
	}
	/** 修改了JPanel的绘图方法, paint 涂画 */
	//Graphics g 是画笔对象
	public void paint(Graphics g){
		if(c1==null){ //如果没有c1 引用的对象，就不绘制对象了
			return;
		}
		//画方块 c1
		g.setColor(new Color(c1.color));//设置画笔颜色
		int x = c1.col * 25;
		int y = c1.row * 25;
		g.fillRect(x, y, 25, 25);//填充矩形区域
		//画方块 c2
		g.setColor(new Color(c2.color));//设置画笔颜色
		x = c2.col * 25;
		y = c2.row * 25;
		g.fillRect(x, y, 25, 25);
	}
}
class Cell{
	int row;//行
	int col;//列
	int color;//颜色
}







